The present application incorporates the following material by reference, in its entirety: Ohad BarSimanTov, Ph.D. Dissertation, Binghamton University (2014, embargoed).
Cardiac Output (CO) is the one of the most important measurements for assessing human health. CO refers to the volume (in liters) of blood pumped out by the left ventricle to the body per minute. Unfortunately, the lack of accuracy and difficultly of measuring this parameter in the primary care and home care environments has drastically limited its use. As a result, other more readily obtained assessments are commonly used to provide an estimation of CO, for example, heart rate, respiratory rate, blood pressure, body temperature (i.e., the vital signs).
A vital signs assessment of an individual's health is undertaken during any hospital admission, any doctor visit, by a medic, or at the start of almost any healthcare intervention. The reason for this assessment is to check how well the vital organs of the body, lungs, heart, etc., are working, and thereby identify any early signs of illness. There are four Vital Signs commonly used to quickly assess the health status of an individual [1]; pulse rate, blood pressure, breathing rate, and body temperature. The pulse rate also is called heart rate, which is the number of heart beats per minute. Heart Rate (HR) can readily be measured by sensing the pulsations in an artery. Blood pressure is typically measured at the arteries of the arm and represents the driving force of blood through the arterial system. The systolic pressure is the high pressure value, and indicates the heart's contraction force. The diastolic pressure is lower pressure value and happens during the relaxation phase of the heart. The blood pressure and pulse rate provides only a very crude estimate of Cardiac Output (CO). Cardiac Output is commonly compared to the person's body surface areas (BSA) which can be obtained through the person's height and weight. Cardiac Index (CI) is the ratio of CO to BSA and is relatively constant across the population in healthy individuals, though it decays with increasing age. The third vital sign is breathing rate and is obtained by counting the number of times the person's chest rises and falls in one minute. Usually, a physician will pay attention to abnormal sounds during respiration, which can provide information about the person's respiratory condition. The last vital sign is the body temperature, which provides a measure of the individuals' thermo-regulatory status, a critical aspect of health in a homoeothermic organism.
Introduction of a dye into the blood stream provides one method to measure CO. The Fick method uses two catheters to extract blood samples from the pulmonary artery and from the aorta and measure the oxygen levels in both. The dye dilution uses a single catheter to extract blood samples from the aorta after the dye was injected in the median antecubital vein. Around 1960s, the dye dilution came to be viewed as the most accurate technique to measure CO. In 1970s the pulmonary artery catheter (PAC) was introduced and became the ‘gold standard’ apparatus as it could be used in both dye-dilution and thermo-dilution methods, which involves just one catheter to inject a solution to the right atrium and measure its change in the pulmonary artery. Since then, invasive techniques using PAC, and other arterial catheters, are widely used in hospital settings. However, these invasive methods and techniques introduce significant risk of deleterious complications such as bleeding, pneumothorax, and infection and widespread use of these devices is falling out of favor. Therefore, non-invasive CO monitoring measurements are preferred by physicians and patients.
Numerous non-invasive cardiac monitoring technology have been developed over the years to address the need for non-invasive cardiac monitoring, including Electrocardiogram (ECG), Computed Tomography (CT), Magnetic Resonance Imaging, Doppler Ultrasound, Echocardiogram, and Bio-impedance. All of these improve patient safety and significantly reduce complications. Some of them also dramatically reduce the cost of cardiac monitoring. ECG does not provide any specific information about the mechanical activity (i.e. pumping activity) of the heart, only the electrical activity. Similarly, CT and MRI provide only static images of the heart. Doppler Ultrasound and Bioimpedance provide estimates of the volume of blood ejected by the heart during each contraction, which when multiplied by heart rate, provides an estimate of CO.
The total volume of blood that the heart pumps during each contraction is referred to as the stroke volume. Cardiac output (CO) is simply the product of the heart rate and stroke volume. Stroke volume depends on atrial filling pressure, the end diastolic pressure in the ventricle (backpressure), and the contractility of the ventricle. Typically, a healthy cardiac muscle will eject between 55% and 70% of the ventricular volume, or approximately 70 ml [23]. As the cardiovascular system is a closed system, the right ventricle volume and ejection fraction roughly equal to those on the left ventricle at any given point in time. A complete cardiac cycle occurs during each heartbeat, both atria simultaneously contract followed by contraction of the ventricles [24]. During contraction, the blood pressure in the left ventricle varies rapidly from about 80 mmHg (typical diastolic pressure) to about 120 mmHg (typical systolic pressure). The right ventricle pressures are much lower, ranging from 2 mmHg to 30 mmHg. As all tissues are critically dependent on adequate blood perfusion to maintain normal function, a measure of cardiac output can provide important information regarding the cause of any tissue or organ system failure. Based on an individual's gender, age, and training levels, HR and SV differ, but the heart supplies the needed amount of blood to the entire body by regulating these two factors. If one component is lower the other adapts to a higher level during either rest or exercise. Because HR can vary over a range of 2-3 fold, and SV can vary over a range of 2-3 fold, the heart has the capability to increase its output by up to roughly tenfold. The ability to attain this full operating range is the essence of athletic training, therefore, accurate, non-invasive, continuous CO monitoring has major applications not just in the healthcare domain, but also in the athletic domain.
The heart generates sounds during each cardiac cycle due to the flow of blood through the heart; four heart sounds are commonly defined. The first two, S1 and S2, are normal and associated with the closing of the mitral and tricuspid valves and the aortic and pulmonary valves during the beginning of systolic and diastolic phases respectively [37]. These heart sounds can provide a basis for synchronization of heart contraction timing. The third and the fourth heart sounds, S3 and S4, may be normal or abnormal and are the result of turbulent flow through the values, or regurgitation back through valve. These latter heart sounds are often referred to as murmurs.
Following the ECG P wave, contraction of the atria is associated with left ventricular volume increase and small left ventricle and left atrium pressure increase. Following The ECG QRS complex the ventricles contract and the left ventricle pressure increases rapidly. This causes the closing of the tricuspid valve, which produces the first heart sound, representing the beginning of the systolic phase. The left ventricle pressure continues to increase and the aorta semilunar valve opens when the left ventricle pressure exceeds the aorta pressure. As a result, the aortic pressure is increased and the left ventricle volume decreases. The blood from the left ventricle is expelled into the aorta until the relaxation phase begins. At this stage, the aortic valve closes and produces the second heart sound which is the end of the systole phase and the beginning for the diastole phase. The left ventricle continues to relax, and then the tricuspid valve opens and oxygenated blood enters to the left ventricle. These flows and volumetric changes produce forces, and motions of the chest wall, which have physiological correlates.
In the 19 century it was first proposed that measurements of chest wall movement during cardiac muscle contraction could serve as a useful measure of stroke volume. Many techniques and methods have been developed to capture cardiac activity non-invasively using sensing techniques, including Sphygmography, Apex-cardiogram, Mechanocardiogram, Vibrocardiogram, accelerocardiogram, Cardiokymogram, Ballistocardiogram, Kinetocardiogram, Seismocardiogram, and other related methods were introduced to measure cardiac activity from body and/or chest motion. All of these methods measure a mechanical motion below 20 Hz, which is at or below the audible range of human hearing. Acoustic signals below the range of human hearing are referred to as infrasonic [64].
The Vibrocardiogram (VbCG) provides for measurement of the phases of isometric contraction, ejection, systole and diastole obtained from the precordial vibration tracing, with an accuracy as good as that realized with direct cardiac catheterization [79, 80]. Those recordings permit the total energy spectrum of the heart in a displacement form, like the ACG. However, the VbCG signal, is obtained using a microphone, which provides a measure of the velocity of the chest motion. If this signal is integrated, it provides the displacement of the chest wall. The VbCG waveform typically consists of four main deflections [79]. The segment between J2 and L is considered to be the ejection time (ET) and the isometric contraction time (ICT) is considered to be between R left and J2. However, in later studies it has been found that the isometric contraction is happening after the ECG R way. The comparison between the dye dilution and VbCG has been explored and a good correlation of the ejection time has been found (r=0.9). Also, an estimation of cardiac output has been shown to be possible [81].
The recording location of the VbCG is defined as the area between the 4th to the 5th left intercostal spaces near the sternum, similarly to ACG, accelerocardiogram [82], and Cardiokymography (CKG) [84]. The investigation of heart diseases using these methods has also been described [81, 83]. VbCG and Accelerocardiogram record the acceleration of the chest wall at the apex location (behind the fifth left intercostal space, 8 to 9 cm from the mid-sternal line, slightly medial to the midclavicular line.) ACG and CKG record the displacement of the chest wall at the apex location. These four methods require breath holding while the subject is lying down. Moreover, the signal varies due to the position of the transducer on the chest, though traditionally the sensor is located exclusively at the apex, and the interpretation of the signal at other locations is not generally interpreted. Some of the recent publications have used optical sensing devices to measure cardiac activities [85, 86] and some investigators have concluded that these techniques have the capability and certain advantages for long term cardiac monitoring [87].
An alternative method of recording precordial (the region of the chest over the heart) movements is the Kinetocardiogram (KCG) [103, 104, 105]. Like the ACG and BCG, KCG records the displacement of a human body as a result of cardiac activity. This method was very similar to ACG, but the recordings were taken at specific known locations on the chest like the V1-V6 in ECG, and included the apex location. The recordings utilize a sensitive piezoelectric transducer (accelerometer) during the end of normal expiration [103]. The recordings demonstrate a range of motion over the chest of about two hundred microns.
Seismocardiogram (SCG) is a similar method which records the acceleration of the chest wall; however, the recording location is at the sternum, similarly to one of the KCG recording locations. SCG was first described in 1961 [107]. In 1990 SCG recordings were performed using an accelerometer and microprocessor based signal analysis device [108]. The frequency range of the SCG signal was found to be 0.3 to 50 Hertz [108]. Moreover, this method has been investigated and compared to left ventricular function [109] and the relationship between SCG and Echocardiogram [110].
The idea of integrating a portable Seismocardiography signal to measure CO has therefore existed for quite some time [115, 116, 117]. However, it is not fully developed.
There are many mathematical tools used to analyze a signal in the frequency domain. The traditional Fourier and Laplace methods work well in smooth continuous signals, for which the statistics properties do not vary in time (i.e. the signals are stationary). They are widely used in science and engineering and suitable when the recorded signal is stationary. The basis functions, however, are sine and cosine functions, which extend over infinite time intervals and are therefore not suited for non-stationary signals [122]. Short Time Fourier Transform (STFT), which is used to analyze small segments of a signal, is more suitable for non-stationary signals if the statistical properties of the signal vary slowly relative to the dominant frequency of the signal. In the context of infrasonic vibrations associated with heart activity, the received signal consists of many frequencies which are very close to frequency of variation (˜1 Hz, i.e. the heart rate frequency) and is not suitable for the use of STFT. Wavelet analysis is a tool which can be used to extract spectral information where ST Fourier methods fail [124]. Wavelet analysis transforms signals into a two dimensional time-frequency domain, utilizing a series of convolution operations on the signal against particular filters at various positions and time scales. This process not only separates high frequency component from low frequency components, but as well, the wavelet scaling process allows one to look at a signal within a small window, and notice the time location of small and high frequency features. In addition, noises can be subtracted fairly easily from the recorded signal, which makes this tool very powerful in many applications: data compression, signal and image processing, music analysis, speech discrimination, quantum physics, optics, earthquake-prediction, radar, human vision, seismic geology, and more. The mathematical proof of the transformations is provided in the papers [124-126].
Wavelet analysis typically consists of three major stages. The first is decomposition, which separates the signal's high frequency components from the low frequency components. This process continues recursively through different stages and provides signal analysis while convolving the signal with high pass and low pass filters. Based on the “cost” of each decomposition level the efficiency of the analysis is calculated to ensure the desired information is extracted from the signal. The second stage is called threshold, where each of the decomposed segments, called packets, is processed via mathematical computations. The last stage is signal reconstruction, which collects the packets and reconstructs the desired signal. This three step process is very common in data compression, and image processing.
The set of high pass and low pass filters are scaled functions of the Mother Wavelet. A Mother Wavelet is a wavelet prototype function which is adapted (scaled and shifted) during the procedure of wavelet analysis. The analysis is performed with a high pass filter and a low pass filter using the Mother Wavelet coefficients. Different Mother wavelets will produce different outputs and different signal information [126]. Therefore, a more suitable mother wavelet function will provide better information extraction and better noise reduction from the original signal.
The original signal can be reconstructed using all scalings and details of the decomposed signal with knowledge of the decomposed mother wavelet. Wavelet decomposition separates the signal to details g[n] and scaling h[n] coefficients with the scaling and details decimated by factors of two. Each level of decomposition can be obtained from the scaling factor and separated into scaling and details again. Similarly, the reconstruction process can use the scaling and detail packets to reconstruct the previous decomposition level packets until the original is reconstructed. The scaling h[n] and detail g[n] are convolved with the Mother wavelet until the original signal is reconstructed.
Wavelet analysis has become one of the most commonly used digital signal processing tools, with applications in data compression, image processing, time series data filtering, material detection and de-noising [125, 189]. Over the past two decades, the use of wavelet analysis has increased rapidly in the biomedical field with analyses being applied to remove base line variation and high frequency components from the electrocardiogram (ECG) and to distinguish specific features within the ECG waveform [153, 154]. Wavelets have also been used in analysis of electromyograms (EMG) [155, 156], mechanomyograms (MMG) [157], electroencephalograms (EEG) [158, 159], seismocardiograms [115], and other medical applications. Wavelet analysis is widely used to de-noise data and to separate observed components where decomposition, thresh-holding, and reconstruction are computed. Of course, physiological recordings are not signals (i.e. messages) per se. In communication systems, the original transmitted message is known and can be compared to the received signal; physiologic recordings can only be interpreted based on a set of assumptions regarding the performance of the physiologic system, rather than comparing to a-priori signal. Accordingly, the appropriate processing algorithm must be identified by correlating the output produced by various analyses to some system characteristic of interest.
See, e.g., U.S. Patent and U.S. Pat. Nos. 9,008,367, 9,008,754, 9,008,762, 9,011,338, 9,014,453, 9,014,789, 9,014,790, 9,014,809, 9,020,585, 9,026,193, 9,026,200, 9,028,405, 9,028,407, 9,031,301, 9,031,642, 9,031,649, 9,033,883, 9,033,887, 9,033,893, 9,037,223, 9,037,224, 9,042,619, 9,042,952, 9,042,958, 9,044,144, 9,044,149, 9,044,171, 9,044,558, 9,049,981, 9,049,985, 9,050,007, 9,050,014, 9,055,871, 9,055,884, 9,056,172, 9,060,669, 9,060,683, 9,060,689, 9,060,695, 9,060,722, 9,060,733, 9,066,672, 9,066,679, 9,066,680, 9,066,686, 9,066,708, 9,069,130, 9,072,437, 9,072,438, 9,075,446, 9,076,202, 9,079,060, 9,081,148, 9,084,531, 9,084,576, 9,084,611, 9,086,467, 9,087,368, 9,089,269, 9,092,691, 9,095,266, 9,095,313, 9,095,505, 9,097,756, 9,101,286, 9,101,772, 9,107,571, 9,107,584, 9,107,586, 9,107,623, 9,107,624, 9,113,794, 9,113,795, 9,113,826, 9,113,830, 9,114,260, 9,116,835, 9,119,547, 9,119,573, 9,125,574, 9,125,577, 9,125,578, 9,126,050, 9,131,852, 9,131,864, 9,131,902, 9,136,980, 9,138,150, 9,144,394, 9,147,268, 9,149,219, 9,149,231, 9,149,244, 9,149,645, 9,155,482, 9,155,484, 9,155,893, 9,161,705, 9,162,074, 9,163,216, 9,167,971, 9,168,380, 9,168,385, 9,168,419, 9,171,353, 9,173,566, 9,173,579, 9,173,909, 9,174,061, 9,175,095, 9,176,319, 9,178,330, 9,179,890, 9,180,043, 9,180,300, 9,183,351, 9,183,626, 9,186,066, 9,186,067, 9,186,068, 9,186,079, 9,186,105, 9,186,106, 9,186,521, 9,192,328, 9,192,336, 9,192,446, 9,197,173, 9,198,582, 9,198,586, 9,198,604, 9,198,616, 9,198,634, 9,199,078, 9,201,902, 9,202,008, 9,204,796, 9,208,173, 9,208,557, 9,208,587, 9,209,782, 9,211,413, 9,215,298, 9,215,980, 9,215,987, 9,215,991, 9,216,001, 9,216,065, 9,220,440, 9,220,455, 9,220,459, 9,220,460, 9,220,467, 9,220,856, 9,226,660, 9,226,665, 9,226,676, 9,236,046, 9,237,855, 9,239,951, 9,241,667, 9,242,090, 9,245,091, 9,247,901, 9,248,288, 9,248,306, 9,249,200, 9,254,089, 9,254,093, 9,254,095, 9,254,102, 9,254,383, 9,258,561, 9,259,167, 9,259,591, 9,261,573, 9,262,826, 9,264,877, 9,267,936, 9,269,127, 9,277,871, 9,277,956, 9,278,226, 9,282,896, 9,282,902, 9,282,908, 9,282,910, 9,282,911, 9,282,925, 9,282,931, 9,286,662, 9,289,133, 9,289,136, 9,289,150, 9,289,165, 9,289,167, 9,289,545, 9,294,074, 9,295,391, 9,301,703, 9,301,705, 9,302,111, 9,304,121, 9,305,334, 9,305,350, 9,307,407, 9,307,917, 9,308,042, 9,308,052, 9,314,181, 9,314,305, 9,319,028, 9,319,212, 9,320,491, 9,324,005, 9,324,141, 9,324,144, 9,326,682, 9,326,697, 9,326,722, 9,327,130, 9,330,092, 9,330,459, 9,332,357, 9,332,939, 9,332,942, 9,339,202, 9,339,206, 9,339,230, 9,339,241, 9,339,436, 9,339,662, 9,340,589, 9,341,783, 9,345,413, 9,345,609, 9,345,888, 9,351,640, 9,351,642, 9,351,649, 9,351,661, 9,351,668, 9,351,674, 9,352,057, 9,352,165, 9,354,115, 9,356,731, RE45512, RE45725, RE45922, U.S. Pat. Nos. 9,026,202, 9,026,199, 9,011,346, 8,998,830, 8,992,434, 8,983,854, 8,979,731, 8,979,730, 8,942,779, 8,905,928, 8,882,684, 8,880,156, 8,870,780, 8,862,231, 8,858,449, 8,840,564, 8,834,364, 8,827,918, 8,821,418, 8,798,726, 8,798,714, 8,790,264, 8,764,653, 8,747,312, 8,734,360, 8,731,646, 8,706,204, 8,700,137, 8,696,569, 8,679,034, 8,679,030, 8,603,010, 8,594,787, 8,585,607, 8,562,526, 8,540,651, 8,517,953, 8,509,881, 8,491,492, 8,482,416, 8,475,367, 8,403,865, 8,376,964, 8,376,954, 8,262,582, 8,249,698, 8,024,044, 7,785,257, 7,715,894, 7,660,632, 7,417,536, 7,396,331, 7,314,451, 7,286,871, 7,269,537, 7,077,810, 7,043,293, 7,019,641, 6,993,378, 6,840,907, 6,547,743, 6,535,754, 6,478,744, 6,370,481, 6,179,783, 6,152,879, 6,053,872, 6,050,950, 5,964,720, RE35122, 5,445,162, 5,197,490, 4,934,372, 4,928,692, 4,926,866, 4,911,167, 4,895,155, 4,893,633, 4,889,130, 4,889,123, 4,884,578, 4,848,350, 4,838,275, 4,836,215, 4,817,610, 4,802,486, 4,738,264, 4,681,098, 4,679,569, 4,657,025, 4,519,395, 4,195,643, 4,036,215, 3,960,140, 9,028,407, 9,028,405, 9,026,214, 9,026,201, 9,014,809, 9,002,453, 9,002,446, 8,998,820, 8,996,110, 8,996,107, 8,968,195, 8,961,185, 8,954,146, 8,942,799, 8,934,970, 8,923,965, 8,918,172, 8,909,329, 8,888,710, 8,886,311, 8,862,226, 8,818,524, 8,798,731, 8,792,998, 8,768,461, 8,764,651, 8,750,992, 8,750,981, 8,747,336, 8,747,313, 8,738,119, 8,738,111, 8,727,978, 8,708,903, 8,702,616, 8,700,146, 8,684,925, 8,684,922, 8,684,900, 8,680,991, 8,652,038, 8,649,853, 8,634,930, 8,630,707, 8,626,281, 8,620,427, 8,620,426, 8,617,082, 8,606,349, 8,594,805, 8,588,906, 8,586,932, 8,583,233, 8,583,230, 8,583,229, 8,532,770, 8,531,291, 8,525,687, 8,525,673, 8,515,535, 8,515,534, 8,509,890, 8,500,636, 8,494,829, 8,475,368, 8,473,068, 8,473,055, 8,461,988, 8,456,309, 8,452,389, 8,449,471, 8,445,851, 8,425,415, 8,423,125, 8,401,640, 8,380,308, 8,346,360, 8,328,718, 8,326,429, 8,326,428, 8,323,189, 8,323,188, 8,321,003, 8,301,241, 8,287,459, 8,285,373, 8,275,463, 8,255,042, 8,251,911, 8,244,355, 8,223,023, 8,214,033, 8,209,010, 8,160,701, 8,145,304, 8,121,673, 8,115,640, 8,108,036, 8,103,333, 8,073,541, 8,027,724, 8,025,624, 8,010,194, 8,005,543, 8,000,773, 7,963,925, 7,953,479, 7,949,399, 7,949,398, 7,908,004, 7,877,146, 7,869,876, 7,869,869, 7,856,268, 7,850,616, 7,848,816, 7,846,104, 7,813,805, 7,797,050, 7,787,946, 7,774,055, 7,769,446, 7,733,224, 7,689,283, 7,676,266, 7,672,728, 7,670,295, 7,650,189, 7,636,600, 7,577,478, 7,574,255, 7,558,622, 7,546,161, 7,539,533, 7,539,532, 7,494,459, 7,460,909, 7,338,436, 7,248,923, 7,206,636, 7,177,686, 7,139,609, 7,079,896, 7,039,462, 6,647,289, 6,551,252, 6,477,406, 6,370,424, 6,171,263, 6,155,976, 6,022,322, 5,782,884, 5,718,720, 5,507,785, 20160151013, 20160148531, 20160143594, 20160143543, 20160140834, 20160135754, 20160135705, 20160128641, 20160128630, 20160120464, 20160120434, 20160120433, 20160120431, 20160120418, 20160114169, 20160114168, 20160114162, 20160113618, 20160106378, 20160100817, 20160100803, 20160100787, 20160098835, 20160095531, 20160087603, 20160081573, 20160081561, 20160074667, 20160073965, 20160073959, 20160067433, 20160066881, 20160066860, 20160066799, 20160066788, 20160058308, 20160058301, 20160051822, 20160051233, 20160051205, 20160051203, 20160045123, 20160038091, 20160038038, 20160038037, 20160034634, 20160033319, 20160023013, 20160022999, 20160022166, 20160022164, 20160022156, 20160008613, 20160007932, 20160007907, 20160001089, 20160000350, 20160000346, 20150374983, 20150374300, 20150366532, 20150366518, 20150366511, 20150362360, 20150359492, 20150359486, 20150359467, 20150359452, 20150359441, 20150352369, 20150352367, 20150351699, 20150342490, 20150342488, 20150342478, 20150305632, 20150297907, 20150297112, 20150297111, 20150297104, 20150290453, 20150289807, 20150289777, 20150286779, 20150283027, 20150272464, 20150272457, 20150269825, 20150265348, 20150265175, 20150265174, 20150265164, 20150265161, 20150257715, 20150257712, 20150257700, 20150257671, 20150257668, 20150251012, 20150246195, 20150245782, 20150238148, 20150238147, 20150238106, 20150238091, 20150223863, 20150223756, 20150223733, 20150223711, 20150223708, 20150220486, 20150216483, 20150216480, 20150216433, 20150216431, 20150216426, 20150208939, 20150204559, 20150201859, 20150201854, 20150201853, 20150196256, 20150196213, 20150190637, 20150190636, 20150190088, 20150190060, 20150182160, 20150178631, 20150174307, 20150173631, 20150171998, 20150165223, 20150164433, 20150164375, 20150164358, 20150164355, 20150164349, 20150164340, 20150164339, 20150157387, 20150157269, 20150157258, 20150157239, 20150157218, 20150148635, 20150142070, 20150142069, 20150141863, 20150141861, 20150141860, 20150141857, 20150141846, 20150137988, 20150135310, 20150134019, 20150133807, 20150133795, 20150127067, 20150127061, 20150126876, 20150126848, 20150126833, 20150125832, 20150122018, 20150119711, 20150117741, 20150112606, 20150112452, 20150112409, 20150112220, 20150112212, 20150112211, 20150112209, 20150112208, 20150112159, 20150112158, 20150112157, 20150112156, 20150112155, 20150112154, 20150109124, 20150106020, 20150105695, 20150105681, 20150105631, 20150103360, 20150099946, 20150099941, 20150088214, 20150088016, 20150088004, 20150087947, 20150087931, 20150086131, 20150080746, 20150073234, 20150068069, 20150065835, 20150065815, 20150065814, 20150057512, 20150051452, 20150046095, 20150045684, 20150038856, 20150032178, 20150031969, 20150031964, 20150025394, 20150025393, 20150025336, 20150025335, 20150025334, 20150025328, 20150018637, 20150018632, 20150016702, 20150005655, 20150005594, 20150005646, 20140378849, 20140371574, 20140362013, 20140350361, 20140323821, 20140309543, 20140308930, 20140288551, 20140288442, 20140277241, 20140277239, 20140275925, 20140275886, 20140275829, 20140275824, 20140267299, 20140266787, 20140249429, 20140222115, 20140221859, 20140221786, 20140207204, 20140194702, 20140163425, 20140163368, 20140163343, 20140151563, 20140143064, 20140142451, 20140142444, 20140142437, 20140135645, 20140135634, 20140128953, 20140121476, 20140114370, 20140104059, 20140094875, 20140088676, 20140077946, 20140066798, 20140055284, 20140052209, 20140046209, 20140039333, 20140039330, 20140012144, 20140012099, 20140005496, 20130345591, 20130338460, 20130331904, 20130331661, 20130310700, 20130296962, 20130261473, 20130245722, 20130245502, 20130231574, 20130211482, 20130211291, 20130211271, 20130204122, 20130197597, 20130197375, 20130197322, 20130190835, 20130190645, 20130178718, 20130172691, 20130171599, 20130165819, 20130158415, 20130144178, 20130137998, 20130123873, 20130109989, 20130095459, 20130085401, 20130072807, 20130069780, 20130060297, 20130060296, 20130053926, 20130053913, 20130053912, 20130053907, 20130030487, 20130030486, 20130030484, 20130030315, 20130030314, 20130030312, 20130023957, 20130023956, 20130009783, 20130006317, 20120330373, 20120330109, 20120296228, 20120277545, 20120271382, 20120271371, 20120271177, 20120253419, 20120245476, 20120245464, 20120242501, 20120238800, 20120226126, 20120220835, 20120203090, 20120203077, 20120197333, 20120185012, 20120179216, 20120172742, 20120172741, 20120165892, 20120157861, 20120157856, 20120157798, 20120143072, 20120136263, 20120132211, 20120123279, 20120095357, 20120095352, 20120092157, 20120092156, 20120071792, 20120022844, 20120022384, 20120022350, 20120022336, 20120010677, 20110319782, 20110319778, 20110319776, 20110301660, 20110263994, 20110251502, 20110208016, 20110196442, 20110196441, 20110196254, 20110181422, 20110172500, 20110160656, 20110152974, 20110137110, 20110130671, 20110130670, 20110118614, 20110115624, 20110112442, 20110106558, 20110105930, 20110098770, 20110098583, 20110087115, 20110087113, 20110082511, 20110066205, 20110066042, 20110066041, 20110060235, 20110060230, 20110046508, 20110046498, 20110036801, 20110034811, 20110021928, 20110015704, 20110015703, 20110015702, 20110015468, 20100331908, 20100305634, 20100304864, 20100274219, 20100256701, 20100249628, 20100210921, 20100204550, 20100179438, 20100169810, 20100169122, 20100152795, 20100123587, 20100121406, 20100114207, 20100113944, 20100100150, 20100100148, 20100094147, 20100094102, 20100069768, 20100030090, 20100010556, 20090318987, 20090318779, 20090312612, 20090270746, 20090227877, 20090227876, 20090203972, 20090105556, 20090099473, 20090078875, 20090076401, 20090076350, 20090076349, 20090076348, 20090076346, 20090076343, 20090076342, 20090054758, 20090054742, 20090036940, 20090024044, 20080312523, 20080306397, 20080275349, 20080275314, 20080269625, 20080262367, 20080230705, 20080230702, 20080194975, 20080161877, 20080128626, 20080119749, 20080091114, 20080042067, 20080039904, 20080013747, 20080004904, 20080004672, 20080001735, 20070299349, 20070276270, 20070273504, 20070265533, 20070260285, 20070191742, 20070150006, 20070118054, 20070106170, 20070103328, 20070083243, 20070083128, 20070013509, 20060293607, 20060247542, 20060241510, 20060211909, 20060206159, 20060167334, 20060149139, 20060142634, 20060111754, 20060094967, 20050234289, 20050137480, 20050124864, 20050113666, 20040267086, 20040097802, 20030233132, 20030233034, 20030135127, 20030135097, 20030045806, 20020040192, 20020032386, each of which is expressly incorporated herein by reference in its entirety. These references disclose, for example, complementary technologies, aspects and details of implementation, applications, and the like.
The Mother Wavelet function is often selected based on the shape and characteristic of the feature one is trying to extract. Some functions are better at capturing amplitude and phase changes; others are better at synthesizing data and quantitative information. Domingues et al. [190] and Chourasia et al. [191] show examples, where selection of a particular mother wavelet provides better feature extraction than others. Rather than accepting such a trade-off by selecting a single basis set, it should be possible to combine information from multiple mother wavelets. See, U.S. Pat. No. 8,874,477, expressly incorporated herein by reference.
If one has inadequate a-priori understanding of the characteristics which need to be extracted for a particular application there may be advantages in performing multiple full tree decompositions using multiple mother wavelets, and then recombining specific packets to create a hybrid. While encouraging in principle, this approach soon faces the curse of dimensionality; the number of combinations increases factorially. Genetic Algorithms (GAs) have some ability to deal with combinational exploration, so this approach was explored.
Genetic Algorithms (GAs) and Wavelets have been combined recently in image processing for fault detection [160, 161], voice recognition [162], and other applications [163, 164], but these investigations used a binary encoding for packet selection. Previous investigations [149] imply that a better approach is to incorporate an index representation (genes are the indexes of the features to select from a possibly large pool of features), with a special subset selection crossover operator. This approach has been used in medical imaging, and also genomic and proteomic data mining [165, 166, 167], but not generally applied in time series data processing. In this case multiple filter banks from multiple mother wavelets were employed. Each mother wavelet was used to decompose data to provide a set of filter banks, also known as packets and then a GA was used to evaluate a subset of the filters specified in each chromosome (FIG. 1).
There are many types of Evolutionary Computations (EC). Each has strengths and weaknesses. Darwin's theorem influenced all of them. A brief introduction and history to GAs is provided and explains the differences between GA and other numerical methods. The no free lunch [138] theorem states there is not a universal algorithm to derive the global optimal solutions for all problems. Therefore, only a few ECs are investigated and explained in detail.
Evolutionary computation is a research domain, where computer algorithms are inspired by principles of natural evolution. Evolutionary computation has sub areas: evolutionary programming, evolution strategies, genetic algorithms, and genetic programming. All may be characterized as non-linear, stochastic search methods based on the mechanics of natural selection and natural genetics [138]. Survival of the fittest among the entire population provides the step forward to find the “optimal solution” from one generation to another. The three main mechanisms that drive evolution forward are reproduction, inheritance with variation, and natural selection. Usually, GAs use crossover and mutation to explore the landscape. Evolutionary Programming (EP) usually uses only mutation and emphasizes the evolution of behaviors. Evolution Strategies (ES) are based on adaptation and evolution, and traditionally used only mutation for variation. The selection process is often deterministic and based on fitness ranking and not on the evaluation value. In general, GAs work on a population of chromosomes. Each chromosome is represented by a string of genes, where each gene represents a variable in the evaluated chromosome. Based on chromosomes' evaluations, offspring are produced using crossover and mutation processes.
Evolution Strategies often employ more advanced mutation operators and often use smaller population sizes than GAs. Their solution representation and selection operators can be different from GAs. The best individuals from the population is allowed to produce offspring, which will represent the next population. The offspring are mutated and evaluated before they become the next generation. In some cases the new offspring will be combined with the previous population. The general principle of ES is as follows:
t=0initialize(P(t=0));evaluate (P(t=0));while isNotTerminated( ) doPp(t) = selectBest(μ, P(t));Pc(t) = reproduce(λ, Pp);mutate (Pc(t));evaluate (Pc(t));if (usePlusstrategy) then P=(t+1) = Pc(t) ∪ P(t);else P=(t+1) = Pc(t)t=t+1end
Genetic Programming (GP) is often used to evolve computer programs and sometimes to derive mathematical equations to represent a solution to a problem. GP is able to model dynamic systems using evolved equations which best represent a solution to a system. The problem representation is encoded as a tree structure, where branches are evaluated in a specific order. Evolutionary programming (EP) is similar to GP, but the structure of the program is fixed, similar to GA. N numbers of genes can be represented where in every generation some genes are mutated and represent different operations. The data flow is similar to GA, but the new population is the mutated old population.
The search for an optimal solution is desired in every challenge. Non-linear, stochastic search, based on the mechanics of natural selection are what characterize Genetic Algorithms [139]. They are a particular evolutionary algorithm class that uses biology inspired techniques such as mutation, selection, inheritance and crossover (recombination). Survival of the fittest among the entire population with some mutation provides the step forward towards the optimal solution from one generation to another. A new set of artificial chromosomes or individuals (population) is created using some or all chromosomes in every generation. Some genes in these chromosomes are combined with new genes which were not explored before or were inherited from previous generations. This may be considered to correspond, to a son who looks like his father, but yet has minor variations which distinguish him and are carried on from previous generations, say his grandfather. Genetic Algorithms are randomized yet not simple random. They allow efficient exploitation of historical information combined with the new, and performance usually improves across generations.
The search for the best solution may not be possible mathematically and, or may cost unrealistic computation time and effort. There are three main types of search methods identified by the current literature: calculus-based, enumerative, and stochastic. Calculus-based methods have been explored widely and divide to two groups: indirect method, where search for local maxima is by solving a nonlinear set of equations directed from the gradient of the objective function, and direct method, where search uses a function likely to move in the direction related of the local gradient to find the local optima. The main disadvantage of calculus based methods is local scope. The optima they search are the best in the neighborhood of the current location, but they may not explore sufficiently; missing sharp events is probable. Based on the starting point, calculus based methods potentially miss the highest hill and focus on a local hill. In general, enumerative schemes evaluate every point in the space, one at a time, similarly to a brute force approach. This method is applicable when the search space is small, due to the lack of efficiency in large space problems. As researchers recognized the effectiveness of stochastic search over calculus-based and enumerative schemes, it became more popular. However, stochastic methods can also lack of efficiency in large space problems. Traditional schemes work well in narrow space problems, but not in broad spectrum problems.
Genetic algorithms are different in their way of solving a problem from traditional methods [139]. First, GAs do not work with the parameters themselves, but rather the coding of the parameter set. Second, the search is done from a population point of view, and not from a single point; multiple searches are performed in parallel. Third, GAs use an evaluation function in the form of payoff, considering the problem as a black box, and do not use derivatives or mathematical functions. Advantageously, they need make no assumptions of this sort. Fourth, GAs use probabilistic transition rules and not deterministic rules to direct the search. Considering the black box problem, GAs will select some inputs and acquire the evaluated output. New inputs will be based on the probability of having better performance from the previous runs' evaluations until a certain degree of satisfaction is achieved. Crossover allows useful combinations to generate better results based on the previous results. Therefore, genes from the above average ancestors will be used more frequently, similar to Darwin's evolution scheme.
The initial population is often generated randomly; each individual is generated with random genes. Often, the initial population is a combination of two initial populations after evaluating each individual; the best from both are combined into one population. Therefore, the initial population starts with better individuals, which can aid in the reduction of computation time. In some GAs, not all the individuals within the population are mated, only the more fit individuals are selected. There can also be different restrictions depending on the GA type and close “cousins”, very similar individuals, are not allowed to mate. This is called incest prevention [147]. The individuals who mate produce offspring. These offspring may replace some or all of the population if they are more fit.
Each offspring is evaluated using a fitness function. It is very common to use fitness proportional reproduction, where each potential parent is compared to the population average, and this determines the expected number of offspring. The best individuals from the population are selected to continue into the next generation, whereas the others leave.
Given a problem with no prior knowledge, the landscape of all possible solutions may be defined as a finite space. Wolpert and Macready [138] showed that over the space of all possible search problems, all search algorithms have the same average performance. If algorithm A outperforms algorithm B on some set of problems, on all the other problems, the opposite will be true. In other words, there is no universally superior search algorithm.
In general, as the complexity level increases, a function's ability to provide a solution to a large problem decreases. Hill Climber (HC) functions are able to solve large problems where the complexity level is low and the landscape is defined with one high peak. At the other complexity end, Random Search (RS) and Exhaustive Enumeration (EE) are able to solve any complex problems, where the landscape is very complex with many peaks, but require small problem size. For intermediate levels of landscape complexity, algorithms like Iterated Hill Climbers (IHC), genetic algorithms (GA) and simulated annealing (SA) will each have a niche where they are able to solve the largest problems.
If the landscape complexity is unknown, the only way to understand its complexity is to perform exploration. For example, when one plays slot machines and wants to know which machines provides better outcomes; exploration is needed. Playing with each machine provides exploration of the landscape. With further exploration, patterns are recognized. One machine may provide better outcomes than others. One would like to have a strategy that exploits this emerging discovery. The optimal strategy for this, “k armed bandits' problem,” is known to allocate trials to machines in exponential fashion, where the exponent is the estimate of each machine's payoff relative to the population average. As a result, some machines will be played more often than others. Furthermore, the process is adaptive: one big successful outcome from another machine may result in a shift the exploration pattern.
Much work has been done to develop superior algorithms, yet the no free lunch theorem states there is no superior algorithm for all problems. However, based on a specific problem, or class of problems, and known conditions a good algorithm can be developed and perform better than others. Previous work had produced an EC with strong properties for subset selection tasks of varying complexity [148] It used Eshelman's CHC algorithm [147]. CHC GA is non-traditional GA, where the offspring replace inferior parents (cross-generational rank selection). A superior individual (chromosome) can survive across generations. Different crossovers were investigated by Mathias et al. [148], and Schaffer et al. [149] to provide an effective subset selection GA, and they found genetic respect to be the most important characteristic. Respect means that genes that are common between parents should be passed on to the offspring [151]. This concept was tested to learn how much respect is sufficient to provide the balance between exploration and exploitation. The final crossover that is used by the algorithm is called the mix and match crossover (MMX) SubSet Selection (SSS), where the size of each chromosome plays a rule in the desired solution.
The initial CHC (Cross generation rank selection, Half uniform crossover, Cataclysmic mutation) population is generated randomly using a uniform distribution. In CHC, two initial populations are produced and the chromosomes are evaluated, and the more fit chromosomes from both populations are selected to become the next population. For all subsequent generations, the pairs of parents (randomly mated) produce two offspring and the selection operator produces the next parent generation by taking the best from the combined parents and offspring using simple deterministic ranking. Each parent chromosome has exactly one mating opportunity each generation, and the resulting offspring replace inferior parents. Mates are randomly selected, but limited due to an incest prevention operator applied before the offspring reproduction crossover operator. There is no mutation performed in the “inner loop.” Only when it becomes clear that further crossovers are unlikely to advance the search, a soft restart is performed, using mutation to introduce substantial new diversity, but also retaining the best individual chromosome in the population. The responsibility for offspring production belongs to the crossover operator.
Crossover operator MMX is similar to RRR [147]. The basic MMX employs negative respect (i.e. no mutations). The MMX_SSS crossover operator consists of the MMX_0.85 crossover combined with a Subset Size (SSS) gene [148], which encodes the number of evaluated genes out of the total number of genes included in the chromosome. The parameter (0.85) in the operator name encodes the extent of negative respect (i.e. 15% mutations to the parental “unique” genes can occur).
SSS is a secondary mandate to the selection function. It is employed only if two chromosomes have the same value for classification accuracy (hierarchical selection with a two-dimensional fitness vector); then the smaller chromosome is ranked more fit. The offspring SSS gene is generated using Blend Crossover (BLX) [148, 151]. The SSS gene for each offspring is drawn uniformly randomly from an interval defined by the SSS genes in the parents and their fitness, the interval is first set to that bounded by the parental values, and then extended by in the direction of the more-fit parent.
See, e.g., U.S. Patent and U.S. Pat. Nos. 8,842,136, 8,849,575, 8,849,629, 8,855,980, 8,856,716, 8,862,627, 8,903,997, 8,913,839, 8,922,856, 8,923,981, 8,938,113, 8,945,875, 8,990,688, 8,995,074, 9,002,682, 9,009,670, 9,015,093, 9,015,145, 9,017,691, 9,022,564, 9,023,984, 9,029,413, 9,047,272, 9,047,353, 9,051,379, 9,053,416, 9,063,139, 9,121,801, 9,148,839, 9,164,481, 9,168,290, 9,171,250, 9,189,733, 9,193,442, 9,195,949, 9,213,990, 9,218,181, 9,223,569, 9,242,095, 9,256,701, 9,258,199, 9,259,579, 9,287,939, 9,289,471, 9,317,626, 9,317,740, 9,321,544, 9,323,890, 9,325,348, RE45660, 20160152438, 20160136431, 20160073313, 20160041174, 20160033622, 20160024156, 20150046181, 20150046216, 20150058061, 20150073495, 20150081077, 20150081324, 20150081911, 20150086087, 20150087589, 20150095146, 20150103681, 20150105086, 20150106310, 20150106311, 20150106314, 20150106315, 20150106316, 20150112403, 20150112636, 20150118158, 20150127066, 20150133306, 20150133307, 20150134315, 20150139977, 20150161629, 20150170052, 20150174408, 20150181822, 20150206214, 20150216426, 20150234976, 20150244946, 20150261926, 20150288573, 20150289210, 20150320316, 20150353880, 20150355459, 20150356350, 20150363108, 20150363193, 20150363194, 20150141863, 20150106069, 20150094012, 20150093037, 20150088024, 20150068069, 20150065835, 20150051083, 20150032015, 20150012256, 20140371834, 20140364721, 20140351188, 20140344013, 20140343396, 20140342703, 20140325019, 20140321756, 20140316221, 20140315576, 20140309959, 20140308930, 20140289172, 20140276191, 20140276121, 20140249429, 20140236530, 20140235965, 20140235201, 20140229409, 20140219566, 20140213909, 20140204700, 20140201126, 20140200575, 20140200572, 20140200571, 20140200471, 20140200430, 20140200429, 20140200428, 20140193087, 20140180049, 20140173452, 20140169686, 20140163425, 20140143251, 20140143064, 20140127672, 20140114165, 20140104059, 20140089241, 20140088415, 20140079297, 20140077946, 20140074564, 20140074180, 20140074179, 20140067485, 20140067484, 20140067470, 20140067463, 20140066738, 20140052379, 20140025304, 20140005743, 20130338530, 20130338496, 20130338468, 20130336594, 20130317392, 20130314694, 20130303941, 20130303119, 20130301889, 20130273968, 20130269376, 20130252604, 20130236067, 20130231574, 20130218156, 20130214943, 20130211291, 20130202177, 20130197380, 20130191090, 20130189977, 20130184603, 20130184553, 20130184538, 20130178730, 20130173194, 20130172691, 20130151447, 20130135008, 20130123684, 20130123666, 20130109995, 20130096394, 20130090266, 20130090265, 20130090247, 20130079002, 20130077891, 20130077843, 20130073981, 20130073490, 20130071837, 20130063613, 20130028052, 20130011062, 20130009783, 20120330170, 20120330109, 20120303560, 20120303504, 20120290505, 20120274937, 20120265350, 20120257046, 20120245481, 20120214510, 20120209798, 20120197831, 20120190404, 20120173154, 20120172746, 20120172743, 20120169053, 20120158633, 20120148157, 20120148149, 20120143382, 20120143078, 20120123232, 20120114249, 20120109653, 20120109612, 20120095352, 20120092157, 20120092156, 20120089046, 20120083246, 20120073825, 20120066259, 20120066217, 20120053441, 20120050750, 20120041608, 20120041330, 20120036016, 20120010867, 20120004854, 20120004564, 20110313285, 20110285982, 20110280447, 20110275364, 20110268328, 20110263958, 20110261178, 20110236922, 20110181422, 20110172930, 20110167110, 20110164783, 20110156896, 20110150253, 20110144519, 20110144065, 20110135166, 20110131162, 20110131041, 20110115624, 20110112426, 20110096144, 20110066404, 20110047105, 20110034967, 20110034824, 20110026832, 20110004513, 20110004415, 20100317420, 20100316283, 20100293115, 20100292968, 20100272340, 20100246544, 20100235285, 20100217145, 20100214545, 20100204540, 20100198098, 20100184702, 20100179400, 20100174271, 20100168836, 20100161654, 20100159945, 20100152905, 20100138026, 20100130189, 20100119128, 20100111396, 20100106458, 20100106269, 20100102825, 20100076642, 20100066540, 20100049369, 20100048242, 20100046842, 20100045465, 20100041365, 20100030485, 20100030484, 20100030038, 20100027892, 20100027846, 20100027845, 20100027469, 20100027431, 20100026799, 20100023307, 20100022855, 20100020961, 20100020208, 20100018718, 20100016687, 20100014718, 20100010681, 20100010503, 20100010488, 20100010368, 20100010355, 20100010332, 20100010331, 20100010324, 20090318779, 20090316988, 20090313041, 20090312819, 20090307164, 20090299162, 20090288152, 20090288140, 20090286512, 20090286509, 20090285166, 20090271342, 20090259537, 20090259534, 20090259533, 20090240366, 20090231173, 20090228408, 20090227876, 20090222108, 20090216133, 20090204341, 20090204029, 20090203981, 20090182287, 20090177420, 20090171740, 20090169075, 20090118637, 20090083010, 20090062684, 20090062635, 20090055147, 20090043542, 20090043541, 20090043525, 20090043182, 20090043181, 20090036758, 20090024549, 20090018891, 20090012766, 20080294019, 20080292146, 20080270328, 20080265130, 20080263323, 20080256069, 20080247598, 20080236275, 20080235165, 20080222734, 20080195261, 20080194996, 20080194946, 20080175480, 20080162487, 20080157510, 20080152217, 20080147441, 20080147440, 20080147438, 20080146334, 20080144944, 20080142713, 20080114564, 20080071136, 20080065291, 20080058668, 20080051660, 20080036580, 20080036187, 20080033316, 20080027841, 20080027769, 20080021342, 20080021336, 20080015871, 20080013747, 20080004904, 20080001735, 20070286336, 20070276279, 20070276270, 20070273504, 20070265808, 20070265806, 20070265533, 20070262574, 20070260656, 20070260427, 20070260425, 20070258329, 20070256432, 20070230795, 20070219749, 20070213786, 20070193811, 20070175998, 20070167846, 20070162992, 20070162189, 20070162084, 20070160973, 20070156317, 20070154099, 20070154079, 20070154078, 20070154063, 20070152433, 20070150021, 20070140551, 20070135984, 20070087756, 20070086624, 20070067003, 20070054347, 20070054266, 20070053513, 20070035114, 20070025597, 20070016476, 20060253781, 20060253258, 20060251293, 20060247536, 20060244246, 20060229822, 20060208169, 20060200260, 20060200259, 20060200258, 20060200253, 20060184473, 20060167784, 20060155398, 20060123363, 20060120584, 20060106797, 20060101017, 20060084115, 20060059028, 20060020597, 20060015497, 20060015496, 20060015495, 20060015494, 20060015492, 20050286179, 20050272110, 20050267911, 20050248136, 20050246314, 20050203434, 20050203360, 20050197590, 20050196047, 20050183958, 20050158736, 20050156775, 20050144284, 20050131660, 20050131607, 20050119454, 20050114078, 20050102246, 20050089923, 20050079524, 20050076190, 20050075846, 20050069162, 20050046584, 20050027457, 20050026199, 20050021101, 20050017488, 20050008179, 20040243567, 20040230131, 20040229210, 20040225649, 20040225629, 20040207548, 20040138578, 20040133355, 20040129478, 20040125148, 20040125133, 20040125121, 20040068199, 20040045030, 20040019470, 20030228565, 20030217047, 20030209893, 20030208451, 20030200189, 20030176656, 20030135109, 20030101164, 20030086593, 20030081836, 20030061228, 20030059837, 20030055799, 20030036835, 20020194159, 20020186875, 20020176624, 20020173936, 20020165854, 20020151992, 20020123975, 20020082756, 20020059022, 20020054694, 20020015532, 20020009756, 20010028743, U.S. Pat. Nos. 9,037,223, 9,033,893, 9,028,405, 9,019,819, 9,002,483, 8,996,442, 8,990,740, 8,976,856, 8,972,861, 8,965,044, 8,948,442, 8,942,180, 8,923,958, 8,918,169, 8,897,869, 8,897,586, 8,892,413, 8,886,301, 8,882,765, 8,880,158, 8,874,477, 8,874,203, 8,873,853, 8,873,813, 8,868,172, 8,866,936, 8,866,322, 8,861,799, 8,860,793, 8,855,775, 8,855,372, 8,855,011, 8,850,048, 8,849,737, 8,849,390, 8,838,510, 8,831,705, 8,826,199, 8,818,778, 8,818,404, 8,811,977, 8,810,796, 8,801,610, 8,797,550, 8,797,448, 8,792,974, 8,786,624, 8,781,597, 8,775,143, 8,775,134, 8,764,661, 8,764,651, 8,762,065, 8,761,903, 8,761,893, 8,761,051, 8,755,940, 8,755,916, 8,755,837, 8,750,971, 8,747,336, 8,747,315, 8,744,607, 8,744,557, 8,743,776, 8,725,667, 8,725,507, 8,725,243, 8,714,983, 8,713,025, 8,712,507, 8,702,629, 8,684,900, 8,680,991, 8,679,018, 8,678,943, 8,677,505, 8,659,697, 8,657,745, 8,649,565, 8,648,959, 8,645,832, 8,638,655, 8,635,051, 8,632,469, 8,626,274, 8,620,660, 8,611,692, 8,606,418, 8,606,021, 8,605,970, 8,600,830, 8,599,266, 8,595,164, 8,594,811, 8,588,933, 8,583,263, 8,582,916, 8,577,822, 8,577,451, 8,576,693, 8,560,134, 8,559,645, 8,547,824, 8,543,199, 8,536,133, 8,531,291, 8,527,324, 8,525,687, 8,525,673, RE44460, 8,522,312, 8,520,979, 8,516,266, 8,515,126, 8,503,791, 8,489,247, 8,488,863, 8,486,690, 8,478,394, 8,469,886, 8,467,884, 8,467,874, 8,467,611, 8,463,441, 8,461,988, 8,449,471, 8,437,998, 8,437,844, 8,437,223, 8,435,179, 8,435,167, 8,433,101, 8,428,925, 8,427,649, 8,416,710, 8,411,910, 8,406,867, 8,406,522, 8,406,115, 8,397,204, 8,396,582, 8,391,963, 8,388,604, 8,374,696, 8,374,667, 8,374,414, 8,369,967, 8,366,707, 8,364,136, 8,355,579, 8,351,321, 8,331,228, 8,323,188, 8,320,217, 8,315,150, 8,307,273, 8,305,436, 8,301,406, 8,295,934, 8,290,561, 8,282,549, 8,271,412, 8,265,725, 8,257,259, 8,253,824, 8,251,906, 8,244,475, 8,233,958, 8,226,561, 8,216,139, 8,213,399, 8,213,398, 8,209,745, 8,208,697, 8,204,697, 8,200,506, 8,199,632, 8,194,986, 8,194,938, 8,190,543, 8,190,194, 8,185,194, 8,183,062, 8,179,847, 8,174,956, 8,170,335, 8,170,334, 8,170,333, 8,165,916, 8,165,661, 8,164,345, 8,149,649, 8,126,664, 8,121,823, 8,121,046, 8,114,143, 8,108,036, 8,107,726, 8,103,333, 8,099,161, 8,098,938, 8,094,551, 8,089,853, 8,086,294, 8,086,017, 8,082,353, 8,082,032, 8,078,552, 8,078,274, 8,077,958, 8,068,894, 8,055,667, 8,046,107, 8,041,651, 8,041,124, 8,036,736, 8,036,442, 8,036,265, 8,032,477, 8,031,060, 8,023,710, 8,015,128, 8,005,631, 8,005,524, 7,996,762, 7,995,454, 7,987,003, 7,983,817, 7,983,141, 7,981,399, 7,974,714, 7,966,078, 7,957,265, 7,936,662, RE42236, 7,912,734, 7,912,138, 7,904,187, 7,903,617, 7,887,089, 7,881,181, 7,881,180, 7,872,985, 7,855,977, 7,831,358, 7,823,058, 7,819,003, 7,818,053, 7,813,822, RE41771, 7,805,386, 7,788,212, 7,777,743, 7,773,537, 7,769,513, 7,768,380, 7,756,060, 7,747,390, 7,747,325, 7,742,806, 7,733,224, 7,730,063, 7,716,148, 7,712,898, 7,710,828, 7,706,349, 7,702,555, 7,702,185, 7,697,792, 7,697,453, 7,693,683, 7,676,263, 7,676,062, 7,675,843, 7,672,219, 7,668,697, 7,663,502, 7,662,785, 7,660,437, 7,657,299, 7,655,895, 7,649,160, 7,636,700, 7,630,757, 7,624,076, 7,620,527, 7,606,790, 7,604,956, 7,599,759, 7,596,470, 7,596,242, 7,590,589, 7,590,510, 7,587,069, 7,584,075, 7,581,434, 7,575,171, 7,558,622, 7,539,533, 7,539,532, 7,536,064, 7,535,822, 7,533,006, 7,526,461, 7,519,476, 7,511,833, 7,502,677, 7,483,868, 7,477,758, 7,460,903, 7,454,244, 7,451,005, 7,430,483, 7,428,323, 7,426,499, 7,415,126, 7,409,303, 7,408,486, 7,407,029, 7,403,820, 7,401,807, 7,401,057, 7,395,250, 7,392,143, 7,385,300, 7,383,237, 7,379,568, 7,376,553, 7,366,719, 7,333,851, 7,324,851, 7,324,036, 7,310,522, 7,308,126, 7,295,608, 7,293,002, 7,286,964, 7,277,758, 7,270,733, 7,243,945, 7,242,984, 7,233,882, 7,231,254, 7,228,238, 7,209,787, 7,194,143, 7,190,149, 7,180,943, 7,164,117, 7,162,076, 7,149,320, 7,147,246, 7,085,401, 7,082,572, 7,051,017, 7,039,654, 7,028,015, 7,016,885, 7,007,035, 7,006,881, 7,003,403, 6,996,549, 6,988,093, 6,970,587, 6,886,008, 6,885,975, 6,882,992, 6,879,729, 6,865,492, 6,862,710, 6,850,252, 6,826,428, 6,826,300, 6,801,645, 6,789,054, 6,763,322, 6,763,128, 6,757,602, 6,757,415, 6,708,163, 6,697,661, 6,678,548, 6,675,164, 6,658,287, 6,650,779, 6,650,766, 6,640,145, 6,601,051, 6,560,542, 6,556,699, 6,549,804, 6,535,644, 6,529,809, 6,510,406, 6,459,973, 6,452,870, 6,445,988, 6,434,583, 6,400,996, 6,397,136, 6,389,157, 6,377,306, 6,363,350, 6,334,219, 6,272,479, 6,205,236, 6,167,155, 6,167,146, 6,154,705, 6,137,898, 6,128,346, 6,121,969, 6,115,488, 6,098,051, 6,091,841, 6,012,046, 5,995,868, 5,978,788, 5,963,929, 5,940,825, 5,847,952, 5,845,266, 5,815,608, 5,815,198, 5,745,382, 5,649,065, 5,602,964, each of which is expressly incorporated herein by reference in its entirety. These references disclose, for example, complementary technologies, aspects and details of implementation, applications, and the like.